;:poke56,110:clr ;:sys36864 ;.opt oo *= $c000 print =$ffd2 vic =$d000 tmp =2 key =198 setnam =$ffbd setpar =$ffba open =$ffc0 close =$ffc3 flop =8 get =65508 clrchn =$ffcc chkin =$ffc6 chkout =$ffc9 clall =$ffe7 input =$ffcf namen =$7000 line =1909 axout =$bdcd clrl =59903 space =$ab3f mtmp =4 data =$8100 dtmp =247 st =144 druck =4 return =$aad7 maxi =250 ; zeile 1064 dwechsel =$8f00 cint =65409 busy =$6e00 redd =$6f00 section =704 sum1 =820 same =$8e00 keyp =631 quote =212 clscn =$e544 sa =$b9 sendnam =$f3d5 talk =$ffb4 sectalk =$ff96 clsfil =$f642 status =144 iecin =$ffa5 fa =$ba jmp start title .byte "\x93\x8e\x08\x12\x99\xb0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xae" .byte "\xdd twin search system tss vers. 2.1 \xdd" .byte "\xdd written by n. heusler, nh-080789 \xdd" .byte "\xdd ein nss programm nss 1988-91 \xdd" .byte "\xad\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xbd" .byt 13 desk .byte " dieses utility prueft, ob sich auf ei-" .byte " ner diskette mehrere identische files" .byte " befinden." .byt 13 .byte "\x11 bitte diskette einlegen !" brk abb .byt 13 .byte "\x11 programmabbruch !\x11" brk dst .byt 13 .byte "\x11 disk\x11\x9d\x9d\x9d\x9d\xa3\xa3\xa3\xa3\x91: " errflg .word 0 namef .byt 13 .byte "\x13\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11 dir-maske ($=inhalt) ? *\x9d" brk lef .byt 13 .byte "\x11 lese filenamen" brk nab .byt 13 .byte "\x11 bitte verfahren waehlen (ende = )" .byt 13 .byte "\x11 \x12 1 \x1d\x1d 2 \x1d\x1d 3 \x1d\x1d 4 \x1d\x1d 5 \x92 6 " brk stu .byt 13 .byte "\x11 anzahl files: " brk pic2 .byt 13 .byte "\x13\x11\x11\x11\x11\x11\x11 scanne " brk pic2a .byte " files" brk litz .byte "\x13\x11\x11\x11\x11\x11\x11\x11\x11 " brk gef .byte " gesamtaufstellung erwuenscht ? " .byt 13 .byte "\x11 \x12 d \x92\x91\x9d\x9d\x9d\xa4\xa4\xa4\x11 rucker" .byt 13 .byte " \x12 s \x92 chirm" .byt 13 .byte " \x12 n \x92 ein" brk head .byt 13,13 .byte " nr filename addr leng ende" he2 .byte " s1 s2 s3 s4" .byt 13,0 wet .byt 13 .byte "\x11 noch eine diskette/a\x11\x9d\xa3\x91bbruch ? [j/n/a]" brk none .byt 13 .byte "\x11 zu wenige files !" brk full .byt 13 .byte "\x11 fehler\x11\x9d\x9d\x9d\x9d\x9d\x9d\xa3\xa3\xa3\xa3\xa3\xa3\x91: bitte maximal" .byte " 250 files !" brk dreht .byt 13 .byte "\x13\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11 bitte diskette einlegen ! (taste)" brk wahwah .byte " ausgabe der duplikate auf" .byt 13 .byte "\x11 \x12 d \x92\x91\x9d\x9d\x9d\xa4\xa4\xa4\x11 rucker" .byt 13 .byte " \x12 s \x92 chirm\x11" .byt 13 .byte " oder:\x11" .byt 13 .byte " \x12 a \x92\x91\x9d\x9d\x9d\xa4\xa4\xa4\x11 bbruch" .byt 13 .byte " \x12 n \x92 eustart" .byt 13 .byte " \x12 z \x92 urueck" brk keyt .byt 13 .byte " - bitte eine taste druecken -" brk tittel .byt 13,13 .byte " nss twin-searcher 2.1 nh-111290-arr" .byt 13,13 .byte " liste der duplikate:" .byt 13 .byte " (verfahren" brk pet1 .byt 13 .byte " folgende files sind duplikate:" .byt 13 .byte " (gruppe " brk pet2 .byte " files)" .byt 13,13,0 nopet .byte " --- keine duplikate gefunden ---" .byt 13,0 stat1 .byt 13 .byte " anzahl files: " brk stat2 .byt 13 .byte " davon unikate: " brk shift .byt 145,148,141,32 drt .byt 13 .byte "\x11 druckvorgang laeuft..." brk atwo .byt 13 .byte "\x11 write file open: ueberlesen ! (taste)\x91\x91" brk gui .byt 13 .byte " \x12 w \x92 eiter oder \x12 a \x92 bbruch ?" brk nons .byte "gesperrt" brk d0 .byte "$0:" .word 0,0,0,0,0,0,0,0 i0 .byte "i0" stack =$ab anzahl =$f9 mode =166 curr =167 sum2 =sum1+2 sum3 =sum1+3 sum4 =sum1+4 sum5 =sum1+5 byte =$fa device =$a9 disk =$fb high =$b0 curr2 =168 samec =$fc gruz =$fd xmerk =$aa double =$fe auto =6 t =$b5 dmode =$b1 merk =$b2 after =$b4 grbit .byt 1,2,4,8,16,32,64,128 hextab .byte "0123456789abcdef" strout sta mtmp sty mtmp+1 str ldy #0 lda (mtmp),y bne goon rts goon jsr print inc mtmp bne str inc mtmp+1 bne str waitkey lda #0 sta key wk cmp key beq wk sta key rts derrm ldx #15 jsr chkin jsr get cmp #"0" sta errflg beq schnitt lda #dst jsr strout lda #32 .byt $2c schnitt lda #205 sta evtl gt jsr get evtl lda print cmp #13 bne gt cer jsr clrchn lda errflg cmp #"0" beq okd lda dmode bne gnade beq irre devil ldx stack txs jsr clrchn lda #2 jsr close lda #4 jsr close lda #15 jsr close ldx #4 stx key crea dex bmi frei lda shift,x sta keyp,x bne crea frei lda #abb jmp strout okd clc rts irre jsr waitkey sec rts derr lda #0 .byt $2c derr2 lda #128 sta dmode jmp derrm gnade lda #gui jsr strout lda #0 sta key jsr clrchn gg jsr get cmp #"a" beq devil cmp #"w" bne gg jsr clr10 inx jsr clrl inx jsr clrl ldx curr lda #4 sta redd,x rts a0out lda #0 jmp axout headout lda #drt jmp strout rein ldy #0 sta (tmp),y inc tmp bne tico inc tmp+1 tico rts clrscr ldx #5 d jsr clrl inx cpx #25 bcc d rts hexout pha lsr lsr lsr lsr jsr hex2 pla hex2 stx dummy+1 and #15 tax lda hextab,x jsr print dummy ldx #0 rts wfobearb lda #0 jsr rein lda t sta tmp lda t+1 sta tmp+1 reade jsr get bne reade sta key blink lda #atwo jsr strout jsr blik lda key bne fort ldx #16 jsr clrl jsr blik lda key beq blink fort ldx #16 jsr clrl jmp file blik ldx #255 ldy #155 bk dex bne bk dey bne bk rts wechsel lda #wet jsr strout lda #0 sta key jn jsr get cmp #"a" beq qdevil cmp #"j" beq jop cmp #"n" bne jn rts jop inc disk lda anzahl ldx disk sta dwechsel-1,x rts qdevil jmp devil testw ldx disk beq raus lda curr beq drehd cpdwn dex cmp dwechsel,x beq drehd cpx #0 bne cpdwn raus rts drehd lda #dreht jsr strout jsr waitkey clr10 ldx #10 jmp clrl calcd ldx #0 stx high asl rol high asl rol high asl rol high clc adc #data sta dtmp+1 rts calcn tax lda #namen sta tmp sty tmp+1 loop1 txa bne loop2 rts loop2 dex ldy #-1 loop3 iny lda (tmp),y bne loop3 iny tya clc adc tmp sta tmp bcc loop1 inc tmp+1 bne loop1 verfout ldx #1 verl lda mode and grbit-1,x beq vern jsr space txa ora #"0" jsr print vern inx cpx #7 bcc verl lda #")" jsr print jsr return jmp return petze inc gruz jsr hold lda #pet1 jsr strout ldx gruz jsr a0out lda #"," jsr print jsr space ldx samec inx jsr a0out lda double clc adc samec adc #1 sta double lda #pet2 jsr strout jsr hold jsr hold lda curr jsr petnam ldx #0 nlp stx xmerk lda same,x jsr petnam ldx xmerk inx cpx samec bcc nlp jsr hold jmp rethold petnam jsr calcn jsr space jsr print lda #34 jsr print ldy #0 pnam lda (tmp),y beq namefk jsr print iny bne pnam namefk lda #34 jsr print rethold jsr return jmp hold aget lda auto bne an jmp get an lda #"d" rts dir jsr clscn lda #2 ldx #d0 jsr setnam lda #0 sta after lda #flop sta fa lda #$60 sta sa jsr sendnam lda fa jsr talk lda sa jsr sectalk lda #0 sta status ldy #3 dl1 sty dtmp jsr iecin sta dtmp+1 ldy status bne dl4 jsr iecin ldy status bne dl4 ldy dtmp dey bne dl1 ldx dtmp+1 jsr axout jsr space dl3 jsr iecin ldx status bne dl4 tax beq dl2 jsr print bcc dl3 dl2 jsr return jsr dohold jsr get cmp #"\x03" beq dl4 ldy #2 bne dl1 dl4 jsr clsfil jsr waitkey lda #title jmp strout start jsr cint lda #0 sta vic+33 sta vic+32 tsx stx stack lda #32 sta desk lda #<title ldy #>title jsr strout jsr waitkey jsr clall ldx #<i0 ldy #>i0 lda #2 jsr setnam lda #15 tay ldx #flop jsr setpar jsr open jsr derr bcs start lda #31 sta mode lda #0 sta disk sta desk sta anzahl lda #<namen ldy #>namen sta tmp sty tmp+1 flopp lda #<namef ldy #>namef jsr strout ldx #3 stx quote in0 jsr input cmp #13 beq finin sta d0,x inx cpx #19 bcc in0 finin lda d0+3 cmp #"$" bne nodir jsr dir jmp flopp nodir txa ldx #<d0 ldy #>d0 jsr setnam ldx #flop ldy #0 lda #2 jsr setpar pha jsr close pla jsr open jsr derr bcc notneu jmp doneu notneu lda #<lef ldy #>lef jsr strout ldx #2 jsr chkin jsr get jsr get jsr get jsr get jsr get jsr get read1 jsr get tay bne read1 file lda tmp sta t lda tmp+1 sta t+1 jsr get jsr get jsr get jsr get r jsr get cmp #"b" beq fini cmp #34 bne r s jsr get cmp #34 beq et jsr rein bne s et jsr get cmp #"*" beq wfo tax bne et jsr rein inc anzahl lda anzahl cmp #maxi bcc file lda #<full ldy #>full jsr strout jmp devil fini jsr clrchn lda #2 jsr close lda #<stu ldy #>stu jsr strout ldx anzahl jsr a0out lda #0 sta key jsr wechsel beq now doneu jsr clrscr jmp flopp now lda anzahl cmp #2 bcs drin lda #<none ldy #>none jsr strout jmp devil wfo jmp wfobearb drin lda #<nab ldy #>nab jsr strout lda #0 sta key getm jsr get cmp #13 beq retus ldx disk bne trafi cmp #141 beq retus trafi cmp #"1" bcc getm cmp #"7" bcs getm sbc #"0" tax lda grbit,x eor mode sta mode stx tmp txa asl asl adc tmp tax ldy #3 inv lda line,x eor #128 sta line,x inx dey bne inv jmp getm retus and #128 sta auto lda mode beq getm jsr clrscr lda #<pic2 ldy #>pic2 jsr strout ldx anzahl jsr a0out lda #<pic2a ldy #>pic2a jsr strout lda #0 sta curr lda #<namen ldy #>namen sta tmp sty tmp+1 lda #<data ldy #>data sta dtmp sty dtmp+1 lda #1 ldx #0 loopb sta redd,x dex bne loopb floop jsr testw inc curr ldx #8 jsr clrl lda #<litz ldy #>litz jsr strout ldx curr jsr a0out lda #":" jsr print jsr space lda #34 jsr print ldy #0 lad lda (tmp),y beq fou0 jsr print iny bne lad fou0 tya ldx tmp ldy tmp+1 jsr setnam sec adc tmp sta tmp bcc fo inc tmp+1 fo lda #34 jsr print ldx #flop lda #2 tay jsr setpar jsr open jsr derr2 bne aus ldx #2 jsr chkin jsr get ldy #0 sta (dtmp),y iny jsr get sta (dtmp),y lda #0 ldx #5 ck sta sum1,x dex bpl ck inloop lda st and #64 bne aus inc sum1 bne noi inc sum1+1 noi jsr get sta byte clc adc sum2 adc #0 sta sum2 lda sum3 eor byte sta sum3 lda sum4 asl adc #0 adc byte sta sum4 lda sum1 eor byte clc sbc sum5 asl adc #0 sta sum5 jmp inloop aus jsr clrchn lda #2 jsr close jsr derr2 bne autsch ldx curr dec redd,x autsch ldy #2 ldx #0 copyp lda sum1,x sta (dtmp),y iny inx cpx #6 bcc copyp tya clc adc dtmp sta dtmp bcc noi2 inc dtmp+1 noi2 lda curr cmp anzahl bcs nfloop jmp floop nfloop lda #<title ldy #>title jsr strout lda #<gef ldy #>gef jsr strout lda #0 sta key getdsn jsr aget cmp #"n" bne ae jmp nixda ae cmp #"s" beq printd cmp #"d" bne getdsn jsr headout ldx #druck .byt $2c printd ldx #3 stx device lda #4 ldy #0 jsr setpar tya jsr setnam lda #32 sta he2 lda #83 sta he2+1 cpx #3 bne pri lda #13 sta he2 lda #0 sta he2+1 pri jsr open ldx #4 jsr chkout ldx #0 stx curr inx stx after lda #<head ldy #>head jsr strout lda #<namen ldy #>namen sta tmp sty tmp+1 lda #<data ldy #>data sta dtmp sty dtmp+1 outloop inc curr lda curr cmp #100 bcs gut jsr space gut lda curr cmp #10 bcs gut2 jsr space gut2 ldx curr jsr a0out jsr space lda #34 jsr print ldy #0 lpd lda (tmp),y beq fou02 jsr print iny bne lpd fou02 tya sec adc tmp sta tmp bcc fo2 inc tmp+1 fo2 lda #34 jsr print lig jsr space iny cpy #17 bcc lig ldx curr lda redd,x beq fredi lda #<nons ldy #>nons jsr strout jmp npr fredi ldy #1 lda (dtmp),y sta merk+1 jsr hexout dey lda (dtmp),y sta merk jsr hexout jsr space ldy #3 lda (dtmp),y jsr hexout dey lda (dtmp),y tax clc adc merk pha php txa jsr hexout jsr space jmp endout rucksack ldx device cpx #3 beq npr ldy #4 lda (dtmp),y jsr hexout jsr space iny lda (dtmp),y jsr hexout jsr space iny lda (dtmp),y jsr hexout jsr space iny lda (dtmp),y jsr hexout npr lda #8 clc adc dtmp sta dtmp bcc wend inc dtmp+1 wend jsr rethold lda curr cmp anzahl bcs deddi jmp outloop deddi jsr clrchn lda #4 jsr close ldx device cpx #3 bne nixda lda #<keyt ldy #>keyt jsr strout jsr waitkey nixda lda #0 sta gruz sta double lda #<title ldy #>title jsr strout lda #<wahwah ldy #>wahwah jsr strout lda #0 sta key ga jsr aget cmp #"a" bne wtrr jmp devil wtrr cmp #"n" bne conti jmp start conti cmp #"z" bne contl jmp nfloop contl cmp #"s" beq drei cmp #"d" bne ga jsr headout ldx #druck .byt $2c drei ldx #3 stx device lda #4 ldy #0 jsr setpar tya jsr setnam jsr open ldx #4 stx after jsr chkout lda #<tittel ldy #>tittel jsr strout jsr verfout ldy #0 sty curr loopb2 lda redd,y sta busy-1,y iny bne loopb2 loopa ldx curr lda #0 sta samec lda busy,x beq teste jmp braf teste inc busy,x inx stx curr2 lda curr jsr calcd ldy #7 loopd lda (dtmp),y sta section,y dey bpl loopd loope ldx curr2 lda busy,x bne falsch txa jsr calcd lda mode and #1 beq notest1 ldy #2 lda section,y cmp (dtmp),y bne falsch iny lda section,y cmp (dtmp),y bne falsch notest1 lda mode and #2 beq notest2 ldy #4 lda section,y cmp (dtmp),y bne falsch notest2 lda mode and #4 beq notest3 ldy #5 lda section,y cmp (dtmp),y bne falsch notest3 lda mode and #8 beq notest4 ldy #6 lda section,y cmp (dtmp),y bne falsch notest4 lda mode and #16 beq notest5 ldy #7 lda section,y cmp (dtmp),y bne falsch notest5 lda mode and #32 beq notest6 ldy #0 lda section,y cmp (dtmp),y bne falsch iny lda section,y cmp (dtmp),y bne falsch notest6 ldx samec inc samec lda curr2 sta same,x tax inc busy,x falsch inc curr2 lda curr2 cmp anzahl bcs qlle jmp loope qlle lda samec beq braf jsr petze braf inc curr ldx curr inx cpx anzahl bcs qlla jmp loopa qlla lda gruz bne qllaa lda #<nopet ldy #>nopet jsr strout qllaa lda #<stat1 ldy #>stat1 jsr strout ldx anzahl jsr a0out lda #<stat2 ldy #>stat2 jsr strout sec lda anzahl sbc double tax jsr a0out jsr rethold jsr clrchn lda #4 jsr close ldx device cpx #3 bne fleiss lda #<keyt ldy #>keyt jsr strout jsr waitkey fleiss lda #0 sta auto jmp nixda endout iny lda (dtmp),y plp adc merk+1 jsr hexout pla jsr hexout jsr space jmp rucksack hold ldx device cpx #3 bne nadel dohold inc after ldx after cpx #23 bcc nadel ldx #0 stx after jmp waitkey nadel rts